import router from './router'
import { getToken } from '@/utils/set-token' // get token from cookie
import 'nprogress/nprogress.css' // progress bar style
import NProgress from 'nprogress' // progress bar

NProgress.configure({ showSpinner: false }) // NProgress Configuration

const whiteList = ['/login'] // 白名单

router.beforeEach(async (to, from, next) => { // 拦截路由
  NProgress.start()
  const hasToken = getToken()// 获取token
  if (hasToken) { // 如果有token
    if (to.path === '/login') { // 如果是从login过来的，跳转到首页
      next({ path: '/' })
      NProgress.done()
    } else {
      next()// 如果不是从login过来的，就正常放行
      NProgress.done()
    }
  } else { // 如果没有token（没有登陆）
    if (whiteList.indexOf(to.path) !== -1) { // 如果在白名单中
      next()// 放行
    } else {
      next('/login')// 如果是白名单里面的，也就是从login过来的，就切换到login，让它重新登陆一下
      NProgress.done()
    }
  }
})
